# Buondua.com scrapper
Скраппер для сайта https://buondua.com/

Актуальность: 10.02.2024

## Пользование
Буду писать команды подразумевая, что программа и скрипты установлены через `pip install`.
**Инструкция по установке ниже**.
Но можно запускать и с помощью `python -m <module>`
Также для работы необходимы токены. Нужно переименовать файлы example* и оставить ".*", в эти файлы записать свои данные

Также все параметры можно посмотреть чере `--help`

### Парсинг альбомов

#### Загрузка одного альбома по ссылке (get)

При запуске произойдет парсинг альбома, а также вывод значений в терминал (`--print`).
Также резутат парсинга будет сохранен в базу данных (`--save`)

```shell
$ buondua --save --print get URL
```

#### Загрузка альбов из коллекции (collect)

При запуске произойдет парсинг страниц коллекции, а затем рекурсивный парсинг альбомов.
Флаг `--recursive` рекурсивно пробегает все альбомы.
Флаг `--limit` задает лимит по количеству альбомов (по-умолчанию `-1`, т.е. все альбомы)

```shell
$ buondua --save --print collect --recursive --limit -1 URL
```

### Отправка альбома в телеграм (buondua-telegram-send)

Использует API двух сервисов telegra.ph для создания альбомов и telegram bot api для автоматической отправки в телеграм

####  Автоматическая загрука альбомов (auto)

Автоматически пробегается по базе данных и ищет не отправленные альбомы.
Флаг `--limit` задает количество альбомов, которые надо отправить в телеграм.

```shell
$ buondua-telegram-send auto --limit 4
```

#### Ручная загрузка альбомов (push)

Отправляет указанный альбом (ссылка или ID из базы данных).

```shell
$ buondua-telegram-send push URL_OR_DBID
```

#### Powershell скрипт для автоматической отправки каждые 3 минуты (против блока из-за спама)

```shell
while ($true) {
    python -m buondua.scripts.send_telegram auto --limit 5

    Start-Sleep -Seconds 180
}
```


### TODO
- проверка уникальности альбома

